P5:Python入门之4个实用内置函数/附:P5全栈测试Python自动化

您所在的位置:网站首页 python 列表 元素 P5:Python入门之4个实用内置函数/附:P5全栈测试Python自动化

P5:Python入门之4个实用内置函数/附:P5全栈测试Python自动化

2023-04-06 06:26| 来源: 网络整理| 查看: 265

这四个内置函数,在某些场合下使用,可以给我们节省许多行代码。这四个函数均返回的是内存地址,嵌套list()函数方可正常显示具体元素。码住备用

1、 enumerate() 函数

【描述】:enumerate函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。返回 enumerate(枚举) 对象。

【语法】:enumerate(sequence,[start=0])

【参数】:sequence-- 一个序列、迭代器或其他支持迭代对象。start -- 下标起始位置。

【示例1】:

seasons = ["Spring","Summer","Fall","Winter"] print(list(enumerate(seasons)))

打印结果:[(0,'Spring'),(1,'Summer'),(2,'Fall'),(3,'Winter')]

【示例2】:

choose_list = ["培训计划","培训记录","培训统计","培训信息卡打印","退出系统"] for index,choose_list in enumerate(choose_list,1): print(f"{index+1}.{choose_list}")

打印结果:1.培训计划2.培训记录3.培训统计4.培训信息卡打印5.退出

注意:1.enumerate(choose_list,1)表示下标从1开始(索引值index默认是从0开始)。2.enumerate()函数返回的是一个内存序列值,嵌套list()函数后可转换为显示具体元素。

2、 filter() 函数

【描述】:filter() 函数用于过滤掉序列中不符合条件的元素,再返回一个可迭代对象,可使用 list()函数将结果转换为列表。

【语法】:fliter(function,iterable)

【参数】:第一参数function --筛选函数。第二参数iterable--序列,即:可迭代对象。序列中每个元素作为参数传递给函数function进行判断,然后依次返回True 或 False,最后将返回 True 的元素放到新列表中。

【示例1】:

a = [1, 2, 3, 4, 5] b = list(filter(lambda x:x>3,a)) print(b)

结果:[4, 5]

【示例2】:

dic1 = {'a':11,'b':22,'c':33,'d':44,'e':55} #将dic1传递给lambda表达式,条件:value值大于22,以元组形式返回。for i in filter(lambda x: x[1] > 22, dic1.items()): print(i)#将dic1中的value值传递给lambda表达式,条件:大于22。for j in filter(lambda x: x > 22, dic1.values()): print(j)#将dic1传递给lambda表达式,条件:value值大于22。遍历并返回key和value。for k,n in filter(lambda x: x[1] > 22, dic1.items()): print(k,n)

结果:

('c', 33)

('d', 44)

('e', 55)

--------

33

44

55

--------

c 33

d 44

e 55

---------

【示例3】:

过滤掉列表中所有偶数,只保留奇数:

def is_odd(n): return n % 2 == 1 list_1 = filter(is_odd,[0,1,2,3,4,5,6]) list_2 = list(list_1) print(list_2)打印结果:[1, 3, 5] 注意:filter()函数返回的是内存地址,如,嵌套list()函数后可显示具体元素。

3、 zip() 函数【描述】:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是:节约了不少内存。可用 list() 转换来输出列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。【语法】:zip([iterable,...])【参数】:iterabl -- 一个或多个迭代器;【示例1】:a = [1,2,3]b = [4,5,6,7]print(list(zip(a,b)))打印结果:[(1, 4), (2, 5), (3, 6)]【示例2】:list1 =["张三","张三","李四","王五","赵六"]list2 = ["DT取证","GS取证","QZ复证", "GL-1继续教育", "RQ-2复证"]list3 = ["2020年3月", "2020年5月","2020年5月", "2020年8月", "2020年6月"]l = list(zip(list1,list2,list3))for index,l in enumerate(l): print(f"{index+1} {l}")print()打印结果:1 ('张三', 'DT取证', '2020年3月')2 ('张三', 'GS取证', '2020年5月')3 ('李四', 'QZ复证', '2020年5月')4 ('王五', 'GL-1继续教育', '2020年8月')5 ('赵六', 'RQ-2复证', '2020年6月')注意:zip()函数返回的是内存地址,如。加list()函数后可正常显示。

4、 map() 函数【描述】:map() 函数用于根据提供的函数对指定序列做映射。第一个参数 function 以序列中的每一个元素来调用 function 函数,然后返回用函数计算后的新列表(python3返回迭代器)。【语法】:map(function,*iterables)【参数】:参数1--function为函数,参数2 *iterables为一个或多个序列【示例1】:def auto_plus(x): x += 1 return xx = [2,4,1,3]list_1 = list(map(auto_plus,x))print(list_1) #1.打印list_1这个变量for i in list_1: print(i) #2.遍历list_1的元素a,b,c,d = map(auto_plus,x)print(a,b,c,d) #3.打印这4个定义的变量

打印结果:[3, 5, 2, 4]35243 5 2 4【示例2】:x = [10,20,30]y = [40,50,60]def add(x,y): return x+ym,n,k = map(add,x,y)print(m,n,k)打印结果:50 70 90注意:map()函数返回的是内存地址,如:,嵌套list()函数后可显示具体元素。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3